#include<stdio.h>
#include<unistd.h>


//命令行参数
int main(int argc,char*argv[])
{
  //传入的字符个数不对
  if(argc!=2){
    printf("argv error!\n");
    return 1;
  }
  
  //argv[1]是第二个命令行参数
  FILE*fp=fopen(argv[1],"r");//只读，打开对应的文件之后

  if(fp==NULL){//打开文件失败
    perror("fopen");
    return 2;
  }

  
  //按行读入
  char line[64];
  //fgets函数从fp文件里读入数据给字符数组line
  //读取成功进入循环
  while(fgets(line,sizeof(line),fp)!=NULL)
  {
    fprintf(stdout,"%s",line);//stdout是标准输出流，输出到显示器上·
  }


  //进行文件操作
 /* const char*s1="hello fwrite";
  fwrite(s1,strlen(s1),1,fp);//第一个参数是地址，第二哥参数是基本单元，第三个参数是基本单元的大小，第四个参数是要往哪里写
   
  const char*s2="hello fprintf";
  fprintf(fp,"%s",s2);//第一个参数是要写入的文件（特定的文件流）
  const char*s3="hello fputs";
  fputs(s3,fp);//向特定文件流中写入字符串*/


  fclose(fp);

 /* while(1)
  {
    sleep(1);
  }*/
  return 0;

}
